Bases de datos distribuidas

Sistemas distribuidos

Desde el punto de vista de la Arquitectura, un sistema distribuido es aquel que está formado por varios computadores, denominados sitios o nodos.

En el contexto de las bases de datos, es un sistema donde la base de datos se encuentra almacenada en varios computadores conectados a través de la red (pública o privada).

Las principales características de los sistemas distribuidos son:

 

Ventajas y desventajas del uso de bases de datos distribuidas

Tipos de bases de datos distribuidas

Bases de datos distribuidas homogéneas

Todas los nodos tienen el mismo SGBD, conocen la existencia de otros nodos y cooperan en el procesamiento de las solicitudes.

 

BBDD_distribuidas_homogeneas

 

Almacenamiento

Si tenemos un modelo con una relación entre tablas, en los sistemas distribuidos tenemos tres alternativas para su almacenamiento:

 

Réplica

Se crean n réplicas de la base de datos y se almacenan en diferentes sitios. Esta configuración se puede utilizar cuando los datos a almacenar son muy sensibles y se intentan minimizar la posibilidad de perder datos.

 

Fragmentación

Consiste en dividir los datos en n partes y almacenarlos en diferentes sitios.

La fragmentación puede ser:

 

Combinación de ambas

Como el propio nombre indica, es una combinación de las dos anteriores.

Las técnicas de réplica y fragmentación se pueden aplicar sucesivamente a los mismos datos de partida. Un fragmento se puede replicar y a su vez esa réplica ser fragmentada, para luego replicar alguno de esos fragmentos.

 

Bases de datos distribuidas heterogéneas

Puede haber nodos con diferentes SGBD, no pudiendo asumir que los nodos sean conscientes de la existencia de los demás. Además, pueden contener diferentes esquemas y modelos para la creación de la base de datos.

 

BBDD_distribuidas_heterogeneas

 

Procesamiento distribuido de consultas

En los sistemas distribuidos hay que tener en cuenta algunos aspectos adicionales a los ya consideramos en los sistemas centralizados:

A la hora de realizar una consulta, el procesamiento de esta no es inmediato ya que la base de datos puede estar fragmentada, replicada o ambas. Por esto, el procesamiento de consultas presenta un problema de optimización en el cual se determina el orden en el cual se hace la menor cantidad de operaciones:

 

by Jose Manuel Pinillos